package com.traffic.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 出境申请对象 per_overseas_application
 * 
 * @author 郭世纪
 * @date 2024-12-08
 */
public class PerOverseasApplication extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long id;

    /** 姓名 */
    @Excel(name = "姓名")
    private String name;

    /** 人员类型 */
    @Excel(name = "人员类型")
    private String typePerson;

    /** 开始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date beginTime;

    /** 结束日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结束日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    /** 原因 */
    @Excel(name = "原因")
    private String cause;

    /** 是否查看承诺书 */
    @Excel(name = "是否查看承诺书")
    private String isSee;

    /** 性别 */
    @Excel(name = "性别")
    private String gender;

    /** 出生年月 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出生年月", width = 30, dateFormat = "yyyy-MM-dd")
    private Date birthTime;

    /** 政治面貌 */
    @Excel(name = "政治面貌")
    private String politicalOutlook;

    /** 工作单位 */
    @Excel(name = "工作单位")
    private String workplace;

    /** 出境类型 */
    @Excel(name = "出境类型")
    private String typeExit;

    /** 职务 */
    @Excel(name = "职务")
    private String office;

    /** 涉密程度 */
    @Excel(name = "涉密程度")
    private String degreeConfidentiality;

    /** 护照号码 */
    @Excel(name = "护照号码")
    private String passportNumber;

    /** 出境目的地 */
    @Excel(name = "出境目的地")
    private String outboundDestination;

    /** 出境审批编号 */
    @Excel(name = "出境审批编号")
    private String approvalNumber;

    /** 组团单位 */
    @Excel(name = "组团单位")
    private String groupUnits;

    /** 前往国家（地区） */
    @Excel(name = "前往国家", readConverterExp = "地=区")
    private String travelingCountry;

    /** 停留日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "停留日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date dateStay;

    /** 出境情况 */
    @Excel(name = "出境情况")
    private String groupOther;

    /** 境外到达日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "境外到达日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date arrivalDate;

    /** 境外目的地点 */
    @Excel(name = "境外目的地点")
    private String destinations;

    /** 境外事项 */
    @Excel(name = "境外事项")
    private String matters;

    /** 附件 */
    @Excel(name = "附件")
    private String annex;

    /** 创建时间 */
    private Date creatTime;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setTypePerson(String typePerson) 
    {
        this.typePerson = typePerson;
    }

    public String getTypePerson() 
    {
        return typePerson;
    }
    public void setBeginTime(Date beginTime) 
    {
        this.beginTime = beginTime;
    }

    public Date getBeginTime() 
    {
        return beginTime;
    }
    public void setEndTime(Date endTime) 
    {
        this.endTime = endTime;
    }

    public Date getEndTime() 
    {
        return endTime;
    }
    public void setCause(String cause) 
    {
        this.cause = cause;
    }

    public String getCause() 
    {
        return cause;
    }
    public void setIsSee(String isSee) 
    {
        this.isSee = isSee;
    }

    public String getIsSee() 
    {
        return isSee;
    }
    public void setGender(String gender) 
    {
        this.gender = gender;
    }

    public String getGender() 
    {
        return gender;
    }
    public void setBirthTime(Date birthTime) 
    {
        this.birthTime = birthTime;
    }

    public Date getBirthTime() 
    {
        return birthTime;
    }
    public void setPoliticalOutlook(String politicalOutlook) 
    {
        this.politicalOutlook = politicalOutlook;
    }

    public String getPoliticalOutlook() 
    {
        return politicalOutlook;
    }
    public void setWorkplace(String workplace) 
    {
        this.workplace = workplace;
    }

    public String getWorkplace() 
    {
        return workplace;
    }
    public void setTypeExit(String typeExit) 
    {
        this.typeExit = typeExit;
    }

    public String getTypeExit() 
    {
        return typeExit;
    }
    public void setOffice(String office) 
    {
        this.office = office;
    }

    public String getOffice() 
    {
        return office;
    }
    public void setDegreeConfidentiality(String degreeConfidentiality) 
    {
        this.degreeConfidentiality = degreeConfidentiality;
    }

    public String getDegreeConfidentiality() 
    {
        return degreeConfidentiality;
    }
    public void setPassportNumber(String passportNumber) 
    {
        this.passportNumber = passportNumber;
    }

    public String getPassportNumber() 
    {
        return passportNumber;
    }
    public void setOutboundDestination(String outboundDestination) 
    {
        this.outboundDestination = outboundDestination;
    }

    public String getOutboundDestination() 
    {
        return outboundDestination;
    }
    public void setApprovalNumber(String approvalNumber) 
    {
        this.approvalNumber = approvalNumber;
    }

    public String getApprovalNumber() 
    {
        return approvalNumber;
    }
    public void setGroupUnits(String groupUnits) 
    {
        this.groupUnits = groupUnits;
    }

    public String getGroupUnits() 
    {
        return groupUnits;
    }
    public void setTravelingCountry(String travelingCountry) 
    {
        this.travelingCountry = travelingCountry;
    }

    public String getTravelingCountry() 
    {
        return travelingCountry;
    }
    public void setDateStay(Date dateStay) 
    {
        this.dateStay = dateStay;
    }

    public Date getDateStay() 
    {
        return dateStay;
    }
    public void setGroupOther(String groupOther) 
    {
        this.groupOther = groupOther;
    }

    public String getGroupOther() 
    {
        return groupOther;
    }
    public void setArrivalDate(Date arrivalDate) 
    {
        this.arrivalDate = arrivalDate;
    }

    public Date getArrivalDate() 
    {
        return arrivalDate;
    }
    public void setDestinations(String destinations) 
    {
        this.destinations = destinations;
    }

    public String getDestinations() 
    {
        return destinations;
    }
    public void setMatters(String matters) 
    {
        this.matters = matters;
    }

    public String getMatters() 
    {
        return matters;
    }
    public void setAnnex(String annex) 
    {
        this.annex = annex;
    }

    public String getAnnex() 
    {
        return annex;
    }
    public void setCreatTime(Date creatTime) 
    {
        this.creatTime = creatTime;
    }

    public Date getCreatTime() 
    {
        return creatTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("name", getName())
            .append("typePerson", getTypePerson())
            .append("beginTime", getBeginTime())
            .append("endTime", getEndTime())
            .append("cause", getCause())
            .append("isSee", getIsSee())
            .append("gender", getGender())
            .append("birthTime", getBirthTime())
            .append("politicalOutlook", getPoliticalOutlook())
            .append("workplace", getWorkplace())
            .append("typeExit", getTypeExit())
            .append("office", getOffice())
            .append("degreeConfidentiality", getDegreeConfidentiality())
            .append("passportNumber", getPassportNumber())
            .append("outboundDestination", getOutboundDestination())
            .append("approvalNumber", getApprovalNumber())
            .append("groupUnits", getGroupUnits())
            .append("travelingCountry", getTravelingCountry())
            .append("dateStay", getDateStay())
            .append("groupOther", getGroupOther())
            .append("arrivalDate", getArrivalDate())
            .append("destinations", getDestinations())
            .append("matters", getMatters())
            .append("annex", getAnnex())
            .append("updateTime", getUpdateTime())
            .append("creatTime", getCreatTime())
            .toString();
    }
}
